package br.edu.ifrn.controller;

import java.util.List;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import br.edu.ifrn.dao.ClasseDocumentoDAO;
import br.edu.ifrn.exeption.ClasseDocumentoException;
import br.edu.ifrn.model.ClasseDocumento;

@Stateless
@LocalBean
public class ClasseDocumentoEJB implements ClasseDocumentoEJBLocal {

	@PersistenceContext(name="sigadocDB")
	private EntityManager em;

	@Override
	public List<ClasseDocumento> listar() {
		ClasseDocumentoDAO classeDocumentoDAO = new ClasseDocumentoDAO(em);
		return classeDocumentoDAO.listar();
	}

	@Override
	public void salvar(ClasseDocumento classeDocumento) {
		ClasseDocumentoDAO classeDocumentoDAO = new ClasseDocumentoDAO(em);
		classeDocumentoDAO.salvar(classeDocumento);
	}

	@Override
	public void remover(ClasseDocumento classeDocumento)throws ClasseDocumentoException {
		ClasseDocumentoDAO classeDocumentoDAO = new ClasseDocumentoDAO(em);
		if(classeDocumentoDAO.isAssociado(classeDocumento.getId()))
			throw new ClasseDocumentoException("Existem documento(s) associado(s) a esta classe");
		else
			classeDocumentoDAO.remover(classeDocumento);
	}
	
	@Override
	public ClasseDocumento find(Long id) {
		ClasseDocumentoDAO classeDocumentoDAO = new ClasseDocumentoDAO(em);
		return classeDocumentoDAO.find(id);
	}
}